1. Field of the Invention
The present invention relates generally to data communications in a wireless communication system, and more particularly, to systems and methods for controlling the allocation and release of uplink resources in connection with the transmission of data produced by delay-sensitive applications.
2. Description of the Prior Art
In today's wireless communications environment, data applications have become commonplace and widely used. Certain of these data applications, such as real-time and streaming applications, are delay sensitive and have very strict requirements with respect to transfer data rate and jitter. If these requirements are not met, the performance of the application may degrade substantially, leading to (for example) interruptions of, or dropouts in, audio or video streams. However, the majority of existing wireless data transmission technologies, such as GSM/GPRS, do not adapt the transmission process to accommodate the requirements of delay-sensitive applications.
The problem associated with transmission of data produced by a delay-sensitive application in a standard communications environment such as GSM/GPRS may best be understood with reference to FIGS. 1 and 2. Generally described, a delay-sensitive data application 102 executing in a mobile station (MS) 100 or in a computer connected to MS 100 generates a flow of data that is representative, for example, of an audio or video stream. The data passes through one or more protocol layers (such as a Real-Time Protocol/User Datagram Protocol/Internet Protocol (RTP/UDP/IP) layer 104 and logical link control (LLC) layer 106), which perform packetization, formatting and control functions, and arrives at data buffer 110 in radio link control/media access control (RLC/MAC) layer 108, where it is stored as data blocks for subsequent transmission to a base station system (BSS) 114.
FIG. 2 depicts the process by which data held in data buffer 110 is transmitted to BSS 114. First, MS 100 must request and be granted an uplink resource by BSS 114. Once the uplink resource is allocated, MS 100 may begin transmitting data blocks enqueued in data buffer 110. In order to allow efficient sharing of the uplink resource, the resource must be released by MS 100 when all of the data blocks in data buffer 110 have been transmitted. In the GPRS specification, uplink resource release is implemented by initiating a countdown process when the number of remaining data blocks enqueued in data buffer 100 falls below a predetermined limit. Once the countdown process has been initiated, each data block is tagged with a countdown value (CV) equal to the number of remaining data blocks, such that the CV for each successively transmitted data block is decremented by one. When BSS 114 receives a data block having a CV equal to zero, it releases the uplink resource. Once initiated, the countdown process proceeds inexorably to completion even if data application 102 has generated additional data during the countdown period, i.e., once the CV has been set, no new data blocks can be enqueued for transmission during the ongoing active transmission period.
After the countdown process has been completed and the uplink resource has been released, MS 100 must again request and be granted the uplink resource. In this manner, transmission of data generated by data application 102 may involve multiple resource allocation/release cycles. Since the resource allocation process can take a substantial period of time (particularly if the resource is heavily utilized), the occurrence of multiple resource allocation/release cycles during a session can introduce operationally significant delays in data transmission, leading to degradation of the performance of the delay-sensitive data application.